/**
 * 作者：
 * 创建时间：2012-8-14 下午4:39:27
 */
package demo.intercept;

import java.util.List;
import java.util.Map;

import dragon.core.db.DML;
import dragon.core.exception.ExceptionHandler;
import dragon.core.util.GlobalParameter;
import dragon.model.bizObject.BizObject;
import dragon.model.intercept.Interceptor;
import ejp.Database;
import ejw.ServerInterface;

/**
 * 实现功能：双色球拦截器类
 */
public class ShuangseqiuInterceptor extends Interceptor {

	@Override
	public int beforeAdd(BizObject bizObject, Map<String, String> parameterMap, ServerInterface sif, Database db) throws ExceptionHandler {
		System.out.println("执行自定义的 beforeAdd 方法");
		String qc = parameterMap.get("ID");// shuangseqiu.xml中期次列的code是ID
		System.out.println("期次=" + qc);

		// 查询期次是否重复
		List<Map<String, Object>> list = DML.query(db, "select count(*)n from demo.shuangseqiu where qc ='" + qc + "'");
		if (!"0".equals(list.get(0).get("N").toString())) {
			// 查询到证明该其次的数据已经存在
			parameterMap.put(GlobalParameter.MESSAGE_WARNING, "期次 " + qc + " 的数据已经存在！");
			return Interceptor.EXCLUDE_ALL;
		}

		return super.beforeAdd(bizObject, parameterMap, sif, db);
	}

	@Override
	public void afterAdd(BizObject bizObject, Map<String, String> parameterMap, ServerInterface sif, Database db) throws ExceptionHandler {
		System.out.println("执行自定义的 afterAdd 方法");
		super.afterAdd(bizObject, parameterMap, sif, db);
	}

}
